package com.ft.oa.service.sys;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ft.oa.domain.dto.ApiResult;
import com.ft.oa.domain.dto.condition.SysRoleDTO;
import com.ft.oa.domain.sys.SysRole;

import java.util.List;
import java.util.Set;

/**
 * 角色服务
 */
public interface SysRoleService {

    /**
     * 新建角色
     * @param role
     */
    ApiResult add(SysRoleDTO role);

    /**
     * 角色添加权限
     * @param roleId
     * @param permissions
     */
    void updateRoleAuth(Integer roleId, Set<Integer> permissions);

    /**
     * 编辑角色
     * @param role
     */
    ApiResult edit(SysRoleDTO role);

    /**
     * 用户id查询角色集合
     * @param id
     * @return
     */
    List<SysRole> userRoles(Long id);

    /**
     * 角色列表
     * @return
     */
    List<SysRole> list();

    /**
     * 删除角色
     * @param id
     */
    void del(Integer id);

    /**
     * 角色分页
     * @param condition
     * @return
     */
    Page<SysRole> page(SysRoleDTO condition);
}
